package cn.z2huo.datastructure.tree.traverseBinaryTree;

import cn.z2huo.datastructure.tree.node.Node;

/**
 * 遍历二叉树接口
 *
 * @author z2huo
 */
public interface BinaryTreeTraversing {

    /**
     * 递归遍历二叉树
     *
     * @param root 二叉树根结点
     */
    <T> void traverseRecursively(Node<T> root);

    /**
     * 迭代遍历二叉树
     *
     * @param root 二叉树根结点
     */
    <T> void traverseIteratively(Node<T> root);

    /**
     * 迭代遍历二叉树
     *
     * @param root 二叉树根结点
     */
    <T> void traverseIteratively2(Node<T> root);
}
